<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Qwt User&#39;s Guide: What&#39;s new in Qwt 6.1</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Qwt User&#39;s Guide
   &#160;<span id="projectnumber">6.1.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">What's new in Qwt 6.1 </div>  </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#ITEMS">New plot items</a></li>
<li class="level1"><a href="#SCALES">Scales beyond linear and logarithmic transformations</a><ul><li class="level2"><a href="#DATETIME">Datetime scales</a></li>
</ul>
</li>
<li class="level1"><a href="#CONTROLS">Redesign of the dial and meter widgets</a></li>
<li class="level1"><a href="#OPENGL">Basic support for an OpenGL plot canvas</a></li>
<li class="level1"><a href="#LEGEND">A new system for plot legends</a></li>
<li class="level1"><a href="#GRAPHIC">Off-screen paint device for vector graphics</a></li>
<li class="level1"><a href="#OVERLAY">QwtWidgetOverlay</a></li>
<li class="level1"><a href="#SYMBOL">QwtSymbol</a></li>
<li class="level1"><a href="#PLOTCURVE">QwtPlotCurve</a></li>
<li class="level1"><a href="#PLOT">QwtPlot</a></li>
<li class="level1"><a href="#OTHER">Other</a><ul><li class="level2"><a href="#SCALEDIV">QwtScaleDiv</a></li>
<li class="level2"><a href="#SCALEENGINE">QwtScaleEngine</a></li>
<li class="level2"><a href="#PLOTLAYOUT">QwtPlotLayout</a></li>
<li class="level2"><a href="#PLOTCANVAS">QwtPlotCanvas</a></li>
<li class="level2"><a href="#OTHERS">Other changes</a></li>
</ul>
</li>
<li class="level1"><a href="#CLASSES">Summary of the new classes</a></li>
</ul>
</div>
<div class="textblock"><h1><a class="anchor" id="ITEMS"></a>
New plot items</h1>
<ul>
<li><a class="el" href="class_qwt_plot_bar_chart.html" title="QwtPlotBarChart displays a series of a values as bars. ">QwtPlotBarChart</a><br/>
 Bar chart, see "examples/distrowatch"</li>
<li><a class="el" href="class_qwt_plot_multi_bar_chart.html" title="QwtPlotMultiBarChart displays a series of a samples that consist each of a set of values...">QwtPlotMultiBarChart</a><br/>
 Chart of grouped bars - stacked or aligned side by side. See "examples/barchart"</li>
<li><a class="el" href="class_qwt_plot_trading_curve.html" title="QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time...">QwtPlotTradingCurve</a><br/>
 Candlestick or OHLC charts typically used to describe price movements over time. See "examples/stockchart"</li>
<li><a class="el" href="class_qwt_plot_shape_item.html" title="A plot item, which displays any graphical shape, that can be defined by a QPainterPath. ">QwtPlotShapeItem</a><br/>
 A plot item to display rectangles, circles, polygons and all other type of shapes ( built from intersections or unifications ), that can be expressed by a QPainterPath. See "examples/itemeditor"</li>
<li><a class="el" href="class_qwt_plot_legend_item.html" title="A class which draws a legend inside the plot canvas. ">QwtPlotLegendItem</a><br/>
 A legend on the plot canvas. See "examples/legends"</li>
<li><a class="el" href="class_qwt_plot_zone_item.html" title="A plot item, which displays a zone. ">QwtPlotZoneItem</a><br/>
 A horizontal or vertical section</li>
<li><a class="el" href="class_qwt_plot_text_label.html" title="A plot item, which displays a text label. ">QwtPlotTextLabel</a><br/>
 In opposite to a <a class="el" href="class_qwt_plot_marker.html" title="A class for drawing markers. ">QwtPlotMarker</a> the text is not aligned to a plot coordinate but according to the geometry of the canvas ( f.e top/centered for a title ). See "playground/curvetracker".</li>
</ul>
<h1><a class="anchor" id="SCALES"></a>
Scales beyond linear and logarithmic transformations</h1>
<p>QwtScaleTransformation has been replaced by <a class="el" href="class_qwt_transform.html" title="A transformation between coordinate systems. ">QwtTransform</a> and its derived classes:</p>
<ul>
<li><a class="el" href="class_qwt_transform.html" title="A transformation between coordinate systems. ">QwtTransform</a></li>
<li><a class="el" href="class_qwt_null_transform.html" title="Null transformation. ">QwtNullTransform</a></li>
<li><a class="el" href="class_qwt_log_transform.html" title="Logarithmic transformation. ">QwtLogTransform</a></li>
<li><a class="el" href="class_qwt_power_transform.html" title="A transformation using pow() ">QwtPowerTransform</a></li>
</ul>
<p>Individual transformations ( f.e. different scaling for special sections ) can be implemented by overloading <a class="el" href="class_qwt_transform.html" title="A transformation between coordinate systems. ">QwtTransform</a> ( see playground/scaleengine ).</p>
<p><a class="el" href="class_qwt_linear_scale_engine.html" title="A scale engine for linear scales. ">QwtLinearScaleEngine</a> and <a class="el" href="class_qwt_log_scale_engine.html" title="A scale engine for logarithmic scales. ">QwtLogScaleEngine</a> are not limited to base 10 anymore.</p>
<h2><a class="anchor" id="DATETIME"></a>
Datetime scales</h2>
<p>A set of a new classes for displaying datetime values:</p>
<ul>
<li><a class="el" href="class_qwt_date.html" title="A collection of methods around date/time values. ">QwtDate</a><br/>
 A collection of methods to convert between QDateTime and doubles</li>
<li><a class="el" href="class_qwt_date_scale_engine.html" title="A scale engine for date/time values. ">QwtDateScaleEngine</a><br/>
 A scale engine that aligns and finds ticks in terms of datetime units.</li>
<li><a class="el" href="class_qwt_date_scale_draw.html" title="A class for drawing datetime scales. ">QwtDateScaleDraw</a><br/>
 A scale draw mapping values to datetime strings.</li>
</ul>
<p>Scales for Qt::UTC and Qt::LocalTime are supported.</p>
<h1><a class="anchor" id="CONTROLS"></a>
Redesign of the dial and meter widgets</h1>
<p>Many parts of the class design of the dial and meter widgets were left over from the 90s ( Qwt 0.2, Qt 1.1 ).</p>
<p>The derivation tree is simpler and more logical:</p>
<ul>
<li><a class="el" href="class_qwt_abstract_scale.html" title="An abstract base class for widgets having a scale. ">QwtAbstractScale</a> is a QWidget</li>
<li><a class="el" href="class_qwt_abstract_slider.html" title="An abstract base class for slider widgets with a scale. ">QwtAbstractSlider</a> is a <a class="el" href="class_qwt_abstract_scale.html" title="An abstract base class for widgets having a scale. ">QwtAbstractScale</a>. ( for sliders without scales QAbstractSlider should be the base class )</li>
<li><a class="el" href="class_qwt_thermo.html" title="The Thermometer Widget. ">QwtThermo</a> is also a <a class="el" href="class_qwt_abstract_scale.html" title="An abstract base class for widgets having a scale. ">QwtAbstractScale</a></li>
<li><a class="el" href="class_qwt_dial.html" title="QwtDial class provides a rounded range control. ">QwtDial</a>, <a class="el" href="class_qwt_knob.html" title="The Knob Widget. ">QwtKnob</a>, <a class="el" href="class_qwt_slider.html" title="The Slider Widget. ">QwtSlider</a> are derived from <a class="el" href="class_qwt_abstract_slider.html" title="An abstract base class for slider widgets with a scale. ">QwtAbstractSlider</a></li>
<li><a class="el" href="class_qwt_counter.html" title="The Counter Widget. ">QwtCounter</a> is derived from QWidget</li>
</ul>
<p>QwtDoubleRange has been removed.</p>
<p>All classes use the terminology known from QAbstractSlider - as far as possible. The extended <a class="el" href="qwtchangelog.html#SCALES">system for scales</a> is completely supported.</p>
<h1><a class="anchor" id="OPENGL"></a>
Basic support for an OpenGL plot canvas</h1>
<p><a class="el" href="class_qwt_plot_g_l_canvas.html" title="An alternative canvas for a QwtPlot derived from QGLWidget. ">QwtPlotGLCanvas</a> offers the option to draw plot items using an OpenGL paint engine ( QPaintEngine::OpenGL/OpenGL2 ), This is not what could be implemented with native OpenGL, but it offers hardware acceleration in environments, where the raster paint engine is the only option. ( f.e Qt4/Windows, or Qt5 on all platforms ).</p>
<p><a class="el" href="class_qwt_plot_g_l_canvas.html" title="An alternative canvas for a QwtPlot derived from QGLWidget. ">QwtPlotGLCanvas</a> is in an experimental state and is not recommended for average use cases.</p>
<h1><a class="anchor" id="LEGEND"></a>
A new system for plot legends</h1>
<p><a class="el" href="class_qwt_legend.html" title="The legend widget. ">QwtLegend</a> has been decoupled from <a class="el" href="class_qwt_plot.html" title="A 2-D plotting widget. ">QwtPlot</a> and can be replaced by application specific implementations. Plot items and the legend exchange the information using <a class="el" href="class_qwt_legend_data.html" title="Attributes of an entry on a legend. ">QwtLegendData</a>.</p>
<p><a class="el" href="class_qwt_plot_legend_item.html" title="A class which draws a legend inside the plot canvas. ">QwtPlotLegendItem</a> is a new plot item that displays a legend on the plot canvas.</p>
<p>The following examples demonstrate how to use the new system:</p>
<ul>
<li>examples/legends<br/>
 shows how to use the new legend system</li>
<li>examples/stockchart<br/>
 implementats a QTreeView with checkable items as legend</li>
</ul>
<h1><a class="anchor" id="GRAPHIC"></a>
Off-screen paint device for vector graphics</h1>
<p><a class="el" href="class_qwt_graphic.html" title="A paint device for scalable graphics. ">QwtGraphic</a> can be copied like QImage or QPixmap but is scalable like QSvgGenerator. It is implemented as a record/replay paint device like QPicture.</p>
<h1><a class="anchor" id="OVERLAY"></a>
QwtWidgetOverlay</h1>
<p><a class="el" href="class_qwt_widget_overlay.html" title="An overlay for a widget. ">QwtWidgetOverlay</a> is a base class for implementing widget overlays - primarily used for use cases like graphical editors or running cursors for the plot canvas.</p>
<p>The following examples show how to use overlays:</p>
<ul>
<li>examples/itemeditor</li>
<li>examples/curvetracker</li>
</ul>
<p><a class="el" href="class_qwt_picker.html" title="QwtPicker provides selections on a widget. ">QwtPicker</a> ( -&gt; <a class="el" href="class_qwt_plot_picker.html" title="QwtPlotPicker provides selections on a plot canvas. ">QwtPlotPicker</a>, <a class="el" href="class_qwt_plot_zoomer.html" title="QwtPlotZoomer provides stacked zooming for a plot widget. ">QwtPlotZoomer</a> ) internally uses <a class="el" href="class_qwt_widget_overlay.html" title="An overlay for a widget. ">QwtWidgetOverlay</a> now, making it easier to implement individual rubber bands.</p>
<h1><a class="anchor" id="SYMBOL"></a>
QwtSymbol</h1>
<p>New symbol types have been introduced:</p>
<ul>
<li><a class="el" href="class_qwt_symbol.html#a62f457952470c2076962e83ef2c24d2faa3cc8fec7843b850f3cde81a6b04394c">QwtSymbol::Path</a></li>
<li><a class="el" href="class_qwt_symbol.html#a62f457952470c2076962e83ef2c24d2fa45c8273247748316e5dd359b2d00216c">QwtSymbol::Pixmap</a></li>
<li><a class="el" href="class_qwt_symbol.html#a62f457952470c2076962e83ef2c24d2faa24a49671ffa302f19f28a5c56c6ec0e">QwtSymbol::Graphic</a></li>
<li><a class="el" href="class_qwt_symbol.html#a62f457952470c2076962e83ef2c24d2fa6e9400c5e295122c0fa825d40d13bb73">QwtSymbol::SvgDocument</a></li>
</ul>
<p><a class="el" href="class_qwt_symbol.html" title="A class for drawing symbols. ">QwtSymbol</a> autodetect the most performant paint strategy for a paint device what is in most situations using a QPixmap cache.</p>
<p><a class="el" href="class_qwt_symbol.html#a78643c91d94690b91745f10f0601579e" title="Set and enable a pin point. ">QwtSymbol::setPinPoint()</a> allows to align the symbol individually, f.e to the position of the peak of an arrow.</p>
<h1><a class="anchor" id="PLOTCURVE"></a>
QwtPlotCurve</h1>
<p>Some optimizations that got lost with introducing the floating point based render code with Qwt 6.0 have been reenabled. Other specific optimizations have been added.</p>
<p>New paint attributes:</p>
<ul>
<li><a class="el" href="class_qwt_plot_curve.html#a96db1b854c63bfbc452c943251a11b66af09c1c6ec8c8198124f0e41c391f8391">QwtPlotCurve::FilterPoints</a></li>
<li><a class="el" href="class_qwt_plot_curve.html#a96db1b854c63bfbc452c943251a11b66a154c720d852e71b7909adf5e56a3500d">QwtPlotCurve::MinimizeMemory</a></li>
<li><a class="el" href="class_qwt_plot_curve.html#a96db1b854c63bfbc452c943251a11b66a5e80434a35db4325ef8cdcb4dcb52282">QwtPlotCurve::ImageBuffer</a></li>
</ul>
<p>QwtPlotCurve::CacheSymbols has been removed, as caching is implemented in <a class="el" href="class_qwt_symbol.html" title="A class for drawing symbols. ">QwtSymbol</a> now.</p>
<p><a class="el" href="class_qwt_plot_curve.html#a20948ab52983ee8c2058b2b2689e97a0" title="Draw lines. ">QwtPlotCurve::drawLines()</a>, <a class="el" href="class_qwt_plot_curve.html#a9d5c81d3340aebf2ab8cf0dfee7e9c81">QwtPlotCurve::drawDots()</a>, <a class="el" href="class_qwt_plot_curve.html#aa55bd22c153a15b7cba082c499536602">QwtPlotCurve::drawSteps()</a> and <a class="el" href="class_qwt_plot_curve.html#a732c4a8b905be4f635d8558b6d959b52">QwtPlotCurve::drawSticks()</a> are virtual now.</p>
<h1><a class="anchor" id="PLOT"></a>
QwtPlot</h1>
<p>A footer similar to a title has been added.</p>
<p>QwtPlot::ExternalLegend is obsolete with the new <a class="el" href="qwtchangelog.html#LEGEND">system for legends</a>. The signals QwtPlot::legendClicked(), QwtPlot::legendChecked() have been removed. Applications need to connect to <a class="el" href="class_qwt_legend.html#a26619e20d875f1e8c666b982a897244b">QwtLegend::clicked()</a> and <a class="el" href="class_qwt_legend.html#ae54179a767337c154beaa826c57dda87">QwtLegend::checked()</a>.</p>
<p>To support using an OpenGL canvas <a class="el" href="class_qwt_plot.html#aea67c885034219789b360c0e624bfeaf" title="Set the drawing canvas of the plot widget. ">QwtPlot::setCanvas</a> has been added. This has 2 important implications for the application code:</p>
<ul>
<li><a class="el" href="class_qwt_plot.html#a53f836bb4ec09c766e3d871ea4be28f7">QwtPlot::canvas()</a> returns QWidget and needs to be casted, when using methods of <a class="el" href="class_qwt_plot_canvas.html" title="Canvas of a QwtPlot. ">QwtPlotCanvas</a>.</li>
<li><a class="el" href="class_qwt_plot_canvas.html" title="Canvas of a QwtPlot. ">QwtPlotCanvas</a> can be created and assigned in application code, what makes it possible to derive and overload methods.</li>
</ul>
<p>The initialization of a plot canvas with Qwt 6.1 will probably look like this:</p>
<div class="fragment"><div class="line"><a class="code" href="class_qwt_plot_canvas.html">QwtPlotCanvas</a>* canvas = <span class="keyword">new</span> <a class="code" href="class_qwt_plot_canvas.html">QwtPlotCanvas</a>();</div>
<div class="line">canvas-&gt;setXY( ... );</div>
<div class="line">...</div>
<div class="line"></div>
<div class="line"><a class="code" href="class_qwt_plot_canvas.html#a1b720b99dc1b686f58e789b13f339f63">plot</a>-&gt;<a class="code" href="class_qwt_plot.html#aea67c885034219789b360c0e624bfeaf">setCanvas</a>( canvas );</div>
</div><!-- fragment --><p>To have a consistent API <a class="el" href="class_qwt_plot.html#a08e258f9ba498662a8be9a559c9c7e44" title="Assign a new plot layout. ">QwtPlot::setPlotLayout()</a> has been added,</p>
<h1><a class="anchor" id="OTHER"></a>
Other</h1>
<h2><a class="anchor" id="SCALEDIV"></a>
QwtScaleDiv</h2>
<p>The following methods have been added:</p>
<ul>
<li><a class="el" href="class_qwt_scale_div.html#a3e35d44b9b41656fb3b241a9b11ddaa4">QwtScaleDiv::inverted()</a></li>
<li><a class="el" href="class_qwt_scale_div.html#a9b73d97caf5ee1020d4d5f60716d4274">QwtScaleDiv::bounded()</a></li>
<li><a class="el" href="class_qwt_scale_div.html#a76e4ef37b52fcf224de98a913635fdf6" title="Check if the scale division is empty( lowerBound() == upperBound() ) ">QwtScaleDiv::isEmpty()</a></li>
<li><a class="el" href="class_qwt_scale_div.html#ab4623880c2c2f789fdc3a9f5e6058484" title="Check if the scale division is increasing( lowerBound() &lt;= upperBound() ) ">QwtScaleDiv::isIncreasing()</a></li>
<li>QDebug operator</li>
</ul>
<p>The following methods have been removed:</p>
<ul>
<li>QwtScaleDiv::isValid(), QwtScaleDiv::invalidate()<br/>
 The valid state was left over from early Qwt versions indicating a state of the autoscaler.</li>
</ul>
<h2><a class="anchor" id="SCALEENGINE"></a>
QwtScaleEngine</h2>
<p>The following methods have been added:</p>
<ul>
<li><a class="el" href="class_qwt_scale_engine.html#afdabe4fd2a89b7cd5a21cdc9ac2269d6">QwtScaleEngine::setBase()</a></li>
<li><a class="el" href="class_qwt_scale_engine.html#ad063f4bb947996191be5c2a5fa0dbaf6">QwtScaleEngine::setTransformation()</a></li>
</ul>
<h2><a class="anchor" id="PLOTLAYOUT"></a>
QwtPlotLayout</h2>
<p>The following flags have been added:</p>
<ul>
<li><a class="el" href="class_qwt_plot_layout.html#ad0d2d60e86a4c69ec105524041d5221da00feaacfa819204f09074fc9b128b22c" title="Ignore the title. ">QwtPlotLayout::IgnoreTitle</a></li>
<li><a class="el" href="class_qwt_plot_layout.html#ad0d2d60e86a4c69ec105524041d5221da132d4fc728c0826a269a143f2d655215" title="Ignore the footer. ">QwtPlotLayout::IgnoreFooter</a></li>
<li><a class="el" href="class_qwt_plot_layout.html#ad243b9afc9b5ce9530b500dc35096d67">QwtPlotLayout::setAlignCanvasToScale()</a></li>
</ul>
<h2><a class="anchor" id="PLOTCANVAS"></a>
QwtPlotCanvas</h2>
<p>Rounded borders ( like with style sheets ) can configured using <a class="el" href="class_qwt_plot_canvas.html#a1e5c325697c0e892bf0e4e514d50177c">QwtPlotCanvas::setBorderRadius()</a>;</p>
<h2><a class="anchor" id="OTHERS"></a>
Other changes</h2>
<ul>
<li><a class="el" href="class_qwt_weeding_curve_fitter.html" title="A curve fitter implementing Douglas and Peucker algorithm. ">QwtWeedingCurveFitter</a><br/>
 <a class="el" href="class_qwt_weeding_curve_fitter.html#a9f17a819447cba0e733bd71d90ee2766">QwtWeedingCurveFitter::setChunkSize()</a> has been added, with drastic performance improvements for huge sets of points.</li>
<li><a class="el" href="class_qwt_plot_renderer.html" title="Renderer for exporting a plot to a document, a printer or anything else, that is supported by QPainte...">QwtPlotRenderer</a> The frame of the plot canvas can be rendered, what makes the result even closer to WYSWYG. <a class="el" href="class_qwt_plot_renderer.html#ac1912ef59ba1a3085f87c0ab49cbcd8b" title="Execute a file dialog and render the plot to the selected file. ">QwtPlotRenderer::exportTo()</a> has been added.</li>
<li><a class="el" href="class_qwt_system_clock.html" title="QwtSystemClock provides high resolution clock time functions. ">QwtSystemClock</a> For Qt &gt;= 4.9 <a class="el" href="class_qwt_system_clock.html" title="QwtSystemClock provides high resolution clock time functions. ">QwtSystemClock</a> uses QElapsedTimer internally. As it doesn't support a similar feature, QwtSystemClock::precision() has been removed.</li>
<li>QwtPlotAbstractSeriesItem<br/>
 QwtPlotAbstractSeriesItem has been split into <a class="el" href="class_qwt_plot_series_item.html" title="Base class for plot items representing a series of samples. ">QwtPlotSeriesItem</a> and QwtPlotAbstractSeriesStore.</li>
<li><a class="el" href="class_qwt_text.html" title="A class representing a text. ">QwtText</a><br/>
 A metatype declaration has been added, so that <a class="el" href="class_qwt_text.html" title="A class representing a text. ">QwtText</a> can be used with QVariant.</li>
<li><a class="el" href="class_qwt_event_pattern.html" title="A collection of event patterns. ">QwtEventPattern</a>, <a class="el" href="class_qwt_panner.html" title="QwtPanner provides panning of a widget. ">QwtPanner</a>, <a class="el" href="class_qwt_magnifier.html" title="QwtMagnifier provides zooming, by magnifying in steps. ">QwtMagnifier</a><br/>
 Forgotten Qt3 leftovers have been fixed: int -&gt; Qt::KeyboardModifiers</li>
<li>QPen Qt5/Qt4 incompatibility The default pen width for Qt5 is 1, what makes it a non cosmetic. To hide this nasty incompatibility several setPen() methods have been added the build pens with a width 0. See QPen::isCosmetic(),</li>
<li>qwtUpperSampleIndex()<br/>
 A binary search algorithm for sorted samples</li>
<li><a class="el" href="class_qwt_matrix_raster_data.html" title="A class representing a matrix of values as raster data. ">QwtMatrixRasterData</a> <a class="el" href="class_qwt_matrix_raster_data.html#a4601944bceabd921cdaa544180576274" title="Change a single value in the matrix. ">QwtMatrixRasterData::setValue()</a> has been added</li>
<li><a class="el" href="class_qwt_picker.html" title="QwtPicker provides selections on a widget. ">QwtPicker</a> QwtPicker::rubberBandWidget(), QwtPicker::trackerWidget() have been replaced by <a class="el" href="class_qwt_picker.html#aa4bdb9e280b226fe2743be0aef11eca8">QwtPicker::rubberBandOverlay()</a>, <a class="el" href="class_qwt_picker.html#afeba8fa29515e673efec3684f2e878d9">QwtPicker::trackerOverlay()</a>. <a class="el" href="class_qwt_picker.html#a9894c9ca37f06ad79cff26a3c63f6c66">QwtPicker::rubberBandMask()</a> has been added. QwtPicker::pickRect() has been replaced by <a class="el" href="class_qwt_picker.html#accba1f639a7e0a0fa978bf638b5f7500">QwtPicker::pickArea()</a></li>
<li><a class="el" href="class_qwt_plot_item.html" title="Base class for items on the plot canvas. ">QwtPlotItem</a> <a class="el" href="class_qwt_plot_item.html#affbc42460ace9ac725fa825a3f8bfb66" title="Plot Item Interests. ">QwtPlotItem::ItemInterest</a> has been added. <a class="el" href="class_qwt_plot_item.html#a188ae18fbbce9adcf259ebe2f0de1f6b">QwtPlotItem::setRenderThreadCount()</a> was shifted from <a class="el" href="class_qwt_plot_raster_item.html" title="A class, which displays raster data. ">QwtPlotRasterItem</a>.</li>
<li>...</li>
</ul>
<h1><a class="anchor" id="CLASSES"></a>
Summary of the new classes</h1>
<ul>
<li><a class="el" href="class_qwt_abstract_legend.html" title="Abstract base class for legend widgets. ">QwtAbstractLegend</a></li>
<li><a class="el" href="class_qwt_date.html" title="A collection of methods around date/time values. ">QwtDate</a></li>
<li><a class="el" href="class_qwt_date_scale_draw.html" title="A class for drawing datetime scales. ">QwtDateScaleDraw</a></li>
<li><a class="el" href="class_qwt_date_scale_engine.html" title="A scale engine for date/time values. ">QwtDateScaleEngine</a></li>
<li><a class="el" href="class_qwt_graphic.html" title="A paint device for scalable graphics. ">QwtGraphic</a></li>
<li><a class="el" href="class_qwt_legend_data.html" title="Attributes of an entry on a legend. ">QwtLegendData</a></li>
<li><a class="el" href="class_qwt_legend_label.html" title="A widget representing something on a QwtLegend. ">QwtLegendLabel</a></li>
<li><a class="el" href="class_qwt_painter_command.html">QwtPainterCommand</a></li>
<li><a class="el" href="class_qwt_pixel_matrix.html" title="A bit field corresponding to the pixels of a rectangle. ">QwtPixelMatrix</a></li>
<li><a class="el" href="class_qwt_plot_abstract_bar_chart.html" title="Abstract base class for bar chart items. ">QwtPlotAbstractBarChart</a></li>
<li><a class="el" href="class_qwt_plot_bar_chart.html" title="QwtPlotBarChart displays a series of a values as bars. ">QwtPlotBarChart</a></li>
<li><a class="el" href="class_qwt_plot_multi_bar_chart.html" title="QwtPlotMultiBarChart displays a series of a samples that consist each of a set of values...">QwtPlotMultiBarChart</a></li>
<li><a class="el" href="class_qwt_plot_g_l_canvas.html" title="An alternative canvas for a QwtPlot derived from QGLWidget. ">QwtPlotGLCanvas</a></li>
<li><a class="el" href="class_qwt_plot_legend_item.html" title="A class which draws a legend inside the plot canvas. ">QwtPlotLegendItem</a></li>
<li><a class="el" href="class_qwt_plot_shape_item.html" title="A plot item, which displays any graphical shape, that can be defined by a QPainterPath. ">QwtPlotShapeItem</a></li>
<li><a class="el" href="class_qwt_plot_text_label.html" title="A plot item, which displays a text label. ">QwtPlotTextLabel</a></li>
<li><a class="el" href="class_qwt_plot_trading_curve.html" title="QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time...">QwtPlotTradingCurve</a></li>
<li><a class="el" href="class_qwt_plot_zone_item.html" title="A plot item, which displays a zone. ">QwtPlotZoneItem</a></li>
<li>QwtPointData</li>
<li><a class="el" href="class_qwt_point_mapper.html" title="A helper class for translating a series of points. ">QwtPointMapper</a></li>
<li><a class="el" href="class_qwt_transform.html" title="A transformation between coordinate systems. ">QwtTransform</a>, <a class="el" href="class_qwt_null_transform.html" title="Null transformation. ">QwtNullTransform</a>, <a class="el" href="class_qwt_log_transform.html" title="Logarithmic transformation. ">QwtLogTransform</a>, <a class="el" href="class_qwt_power_transform.html" title="A transformation using pow() ">QwtPowerTransform</a></li>
<li><a class="el" href="class_qwt_widget_overlay.html" title="An overlay for a widget. ">QwtWidgetOverlay</a> </li>
</ul>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
